Network equipment test devices test network equipment by transmitting packets to and receiving packets from the network equipment. Examples of network devices that are tested include switches, routers, firewalls, network address translators, servers, load balancers, etc. Examples of tests that are performed include stress tests, performance tests, protocol compliance tests, and other tests that involve the processing of packets by a device under test (DUT).
In order to test network equipment, network equipment test devices include ports that physically connect to DUTs. Each port includes a transceiver or physical layer chip that is responsible for transmitting packets over the wire to the DUT and receiving packets from the DUT. On the receive side, each port typically includes a front end filter implemented in hardware or firmware, that classifies received packets according to whether the packets require further processing or not. Packets of interest that require further processing are transmitted to a port central processing unit (CPU) to receive further processing. Packets that are not of interest may be ignored or discarded.
In computer networks, the line rate defines the speed at which bits are transmitted over the networks between network devices. As line rates increase, the likelihood of a port CPU becoming overwhelmed increases. For example, current network equipment test devices function at line rates of 400 gigabits per second. Port CPU processing speed has not increased proportionately with line rates. Increased line rates are typically not problematic for front end filters, which are designed to operate at line rate and only perform a limited amount of packet processing. However, if a DUT malfunctions and sends a high volume of control plane packets to a particular port CPU, the rate at which the control plane packets arrive at the port CPU may exceed the processing capacity of the CPU and cause congestion or even CPU failure.
One mechanism in test scenarios for a network equipment test device to rapidly identify packets that require and do not require further processing is to insert a signature in outgoing test packets to distinguish between data plane packets and control plane packets. For example, because test packets are synthetic packets generated by a network equipment test device, a signature that is easily detectable by a receive side front end filter of the network equipment test device can be inserted in each packet header or payload identifying the packet as requiring port CPU processing or not. In one implementation, data plane packets do not require port CPU processing, and control pane packet require front end processing. Accordingly, a signature may be inserted in each generated packet to identify the packet as a data plane or control plane packet. The front end filter can detect the signature in received packets and use the signature to identify the data plane packets that should not be sent to the port CPU. However, if the device under test sends data plane packets without the signature to the network equipment test device or the device under test sends a higher volume of control plane packets to the network equipment test device than the port CPU can handle, port CPU congestion and even failure can occur.
Accordingly, in light of these difficulties, there exists a need for methods, systems, and computer readable media for providing receive port resiliency in a network equipment test device.